package com.easymall.service;

import com.easymall.domain.User;

import java.sql.SQLException;

/**
 * User对应的Service层接口
 */
public interface UserService {

    /**
     * 初始化方法
     */
    void init() throws Exception;

    /**
     * 检测用户名是否存在
     * @param username 用户名
     * @return true-存在   false-不存在
     * @throws SQLException 数据操作失败
     */
    boolean hasUsername(String username) throws SQLException;

    /**
     * 从Dao层获取User对象
     * @param username 用户名
     * @param password 密码
     * @return User对象
     * @throws SQLException 数据操作失败
     */
    User login(String username, String password) throws SQLException;

    /**
     * 用户注册
     * @param user User对象
     * @return true-成功  false-失败
     * @throws SQLException 数据操作失败
     */
    boolean register(User user) throws SQLException;

    /**
     * 根据用户id获取User对象
     * @param id 用户的id
     * @return User对象
     * @throws SQLException 数据操作失败
     */
    User getUserById(int id) throws SQLException;

}
